跳到主要内容

CVE-2024-38063 漏洞复现

· 阅读需 4 分钟
声明

本文版权归原作者所有,转载请注明出处。

前言

漏洞POC已公开,根据公开的POC,尝试复现。本文将记录漏洞复现真实过程,包括出现的一些问题。

POC地址:https://github.com/ynwarcs/CVE-2024-38063

本文将以 Hyper-V 虚拟机为例(VMware过程类似),版本是 Windows 10 (10.0.19045),其他受影响版本复现过程应一致,尽可能与POC发布者复现过程一致,复现过程可能部分操作不涉及原理和解释,只做步骤记录。

漏洞复现

创建虚拟交换机,选择内部交换机,并填入名称,这里填入的是仅主机:

并将其添加至目标靶机的网络适配器中,并将安全启动关闭:

开启 Hyper-V 虚拟机,关闭防火墙,尝试ping,查看是否 IPv6 连通:

提取POC需要的信息:

  1. 攻击机适配器名称
  2. 目标机器的 IPv6 地址
  3. 目标机器的 MAC 地址

在本机执行 ipconfig查看适配器地址:

提取到适配器名称:vEthernet (仅主机)

在目标机器上执行 ipconfig /all

提取到物理地址(MAC):00:15:5d:82:01:06

提取到 IPv6地址:fe80::f802:8614:a39a:34d3,这里后面的%3去除。

将提取的信息填入POC开头部分:

iface='vEthernet (仅主机)'
ip_addr='fe80::f802:8614:a39a:34d3'
mac_addr='00:15:5D:82:01:06' # 注意将 '-' 替换为 ':'
num_tries=20
num_batches=20

执行POC,等待60s:

wireshark抓取 IPv6 数据包:

尝试多次,依旧失败,目标靶机并未蓝屏,根据POC描述,可能是数据包未合并,目标靶机适配器可能不支持,之后尝试内核调试。

内核调试官方文档:https://learn.microsoft.com/zh-cn/windows-hardware/drivers/debugger/setting-up-a-network-debugging-connection-automatically

本机安装调试工具包,这里可以安装52pojie的:https://down.52pojie.cn/Tools/Debuggers/WinDbg_X64_v10.0.22621.2428.msi

安装完毕后,根据文档复制文件至靶机,在目标靶机并启动(以管理员运行cmd),其中 169.254.244.224 是本机地址也就是调试的机器:

复制红框部分,并在本机windbg目录执行:

在目标靶机执行shutdown -r -t 0重启等待开机,这里需要几分钟。

开机之后执行 ipconfig /all 查看 IPv6 和 MAC 地址:

此时适配器已变成 Microsoft Kernel Debug Network Adapter,也就是在内核模式下适配器变了。

在windbg中断点:

输入g,可以看到运行中:

填入POC:

iface='vEthernet (仅主机)'
ip_addr='fe80::449c:e10a:334f:62c89'
mac_addr='00:15:5D:82:01:06'
num_tries=20
num_batches=20

执行等待60s,最后一秒时 windbg 断住了:

输入kb

输入g

至此漏洞复现完毕!